<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                template="/templates/template.xhtml">
    <ui:define name="metadata">
    </ui:define>
    <ui:define name="content">        
        <section class="content-header">
            <h1>
                Catálogo
                <small>Actor</small>
            </h1>
            <ol class="breadcrumb">
                <li><a href="#"><i class="fa fa-home"></i> Inicio</a></li>
                <li><a href="#"><i class="fa fa-table"></i> Catálogo de Actor</a></li>
            </ol>
        </section>
        <p:messages autoUpdate="true" id="msgs" showSummary="true" showDetail="true" closable="true"/>
        <section class="content">
            <div class="row">
                <div class="col-xs-12">
                    <div class="box box-primary"> 
                        <br/>
                        <h:form id="registro">
                            <p:panel id="formulario" header="Registro de Actor" toggleable="true" widgetVar="formulario">
                                <h:panelGrid columns="2" cellpadding="5">
                                    <h:outputText value="Nombre: *" style="font-weight:bold;"/>  
                                    <p:inputText id="nombre" value="#{catalogoActor.actor.nombre}" required="true" requiredMessage="Necesita ingresar un Nombre"/>

                                    <h:outputText value="Nacionalidad: *" style="font-weight:bold;"/>  
                                    <p:inputText id="usuario" value="#{catalogoActor.actor.nacionalidad}" required="true" requiredMessage="Necesita ingresar un Usuario"/>  

                                    <h:outputText value="Sexo: *" style="font-weight:bold;"/>
                                    <p:selectOneMenu value="#{catalogoActor.actor.sexo}">
                                        <f:selectItem itemLabel="Elegir" itemValue=" " />
                                        <f:selectItem itemLabel="Masculino" itemValue="true"/>
                                        <f:selectItem itemLabel="Femenino" itemValue="false"/>
                                    </p:selectOneMenu>   
                                    <f:facet name="footer">
                                        <p:commandButton value="Cancelar" process="@this" update="@form" actionListener="#{catalogoActor.resetForm()}" icon="ui-icon-close" style="margin-right:20px"/>
                                        <p:commandButton value="Guardar" icon="ui-icon-disk" actionListener="#{catalogoActor.save()}" update="@form,:consulta" style="margin-right:20px" styleClass="ui-priority-primary"/>
                                    </f:facet>
                                </h:panelGrid>
                            </p:panel>                              
                        </h:form>
                    </div>
                </div>
                <div class="col-xs-12">
                    <div class="box box-info"> 
                        <br/>
                        <p:panel header="Actores Registrados" toggleable="true">
                            <h:form id="consulta">
                                <p:dataTable id="tabla" widgetVar="tabla" var="a" value="#{catalogoActor.actors}"   
                                             paginator="true" rows="10" filterEvent="enter" filteredValue="#{catalogoActor.actorsFilter}"  
                                             paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                             currentPageReportTemplate="(Mostrando: {startRecord} - {endRecord} de: {totalRecords}, Página: {currentPage}/{totalPages})"
                                             rowsPerPageTemplate="5,10,20,50,100,500" emptyMessage="No se encontraron registros">
                                    <f:facet name="header">
                                        <p:outputPanel>
                                            <h:outputText value="Buscar:" />
                                            <p:inputText id="globalFilter" onkeyup="PF('tabla').filter()" style="width:150px" placeholder="Ingresa una palabra"/>
                                        </p:outputPanel>
                                    </f:facet>
                                    <p:column style="text-align: center" filterBy="#{a.id}" footerText="contiene" filterMatchMode="contains"> 
                                        <f:facet name="header">  
                                            <h:outputText value="ID" />  
                                        </f:facet> 
                                        <h:outputText value="#{a.id}" />  
                                    </p:column>  
                                    <p:column style="text-align: center" filterBy="#{a.nombre}" footerText="contiene" filterMatchMode="contains">  
                                        <f:facet name="header">  
                                            <h:outputText value="Nombre" />  
                                        </f:facet> 
                                        <h:outputText value="#{a.nombre}" />  
                                    </p:column>  
                                    <p:column style="text-align: center" filterBy="#{a.nacionalidad}" footerText="contiene" filterMatchMode="contains">  
                                        <f:facet name="header">  
                                            <h:outputText value="Nacionalidad" />  
                                        </f:facet> 
                                        <h:outputText value="#{a.nacionalidad}" />  
                                    </p:column>
                                    <p:column style="text-align: center" filterBy="#{a.sexo}" footerText="exacto" filterMatchMode="exact">  
                                        <f:facet name="header">  
                                            <h:outputText value="Sexo" />  
                                        </f:facet>
                                        <f:facet name="filter">
                                            <p:selectOneMenu onchange="PF('tabla').filter()" >
                                                <f:converter converterId="javax.faces.Boolean" />
                                                <f:selectItem itemLabel="Ambos" itemValue="" />
                                                <f:selectItem itemLabel="Masculino" itemValue="true"/>
                                                <f:selectItem itemLabel="Femenino" itemValue="false"/>
                                            </p:selectOneMenu>
                                        </f:facet>
                                        <h:outputText value="Masculino" rendered="#{a.sexo}"/>  
                                        <h:outputText value="Femenino" rendered="#{!a.sexo}"/>  
                                    </p:column>
                                    <p:column headerText="Editar" style="text-align: center" exportable="false"> 
                                        <p:commandButton actionListener="#{catalogoActor.edit(a)}" update=":registro" icon="ui-icon-pencil"/>
                                    </p:column> 
                                    <p:column headerText="Borrar" style="text-align: center" exportable="false">  
                                        <p:commandButton icon="ui-icon-trash" actionListener="#{catalogoActor.remove(a)}" update="@form">
                                            <p:confirm header="Confirmación" message="Borrar registro?" icon="ui-icon-alert" />
                                        </p:commandButton>
                                    </p:column>
                                    <f:facet name="footer">
                                        Exportar datos:
                                        <h:commandLink>  
                                            <p:graphicImage value="../../resources/images/excel.png" title="Formato .xls"/>  
                                            <p:dataExporter type="xls" target="tabla" fileName="catalogoActor" />  
                                        </h:commandLink>
                                    </f:facet>
                                </p:dataTable>
                            </h:form>
                        </p:panel>
                    </div>
                </div>
            </div>
        </section>
        <p:confirmDialog global="true" showEffect="fade" hideEffect="explode" appendTo="@(body)">
            <h:form>
                <p:commandButton value="Si" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
            </h:form>
        </p:confirmDialog>
    </ui:define>
</ui:composition>
